// 云函数入口文件
const cloud = require('wx-server-sdk');
// 初始化云开发
cloud.init({
  env: 'liucheng-2gmqvcgs50e86304' // 使用指定的云环境
});
const db = cloud.database();

// 云函数入口函数
exports.main = async (event, context) => {
  const { orderNumber, fieldName, fieldValue } = event; // 从前端传递的参数中获取订单号、字段名和字段值

  try {
    // 查询该订单下所有的零件数据
    const partsQuery = await db.collection('Parts')
      .where({
        orderNumber: orderNumber
      })
      .get();

    // 更新零件数据中指定字段的值为前端传递的字段值
    const updatePromises = partsQuery.data.map(async part => {
      try {
        const updateData = {};
        updateData[fieldName] = fieldValue; // 使用动态的字段名和字段值来更新
        await db.collection('Parts').doc(part._id).update({
          data: updateData
        });
        return { success: true, _id: part._id };
      } catch (updateErr) {
        console.error(`Error updating part ${part._id}:`, updateErr);
        return { success: false, _id: part._id, errorMessage: updateErr.message };
      }
    });

    // 等待所有更新操作完成
    const updateResults = await Promise.all(updatePromises);

    return {
      success: true,
      updateResults: updateResults
    };
  } catch (err) {
    console.error('Error fetching Parts collection:', err);
    return {
      success: false,
      errorMessage: err.message
    };
  }
};
